Why Care about Category Theory

 

Mark Chu-Carroll in his blog Good Math/Bad Math offers thoughts from a computer science perspective in his October 2018 post "Another Stab at Category Theory: Lesson one: Starting with Monoids":

Ok, so why should you care about category theory?

Category theory is a different way of thinking, and it's a language for talking about abstractions. The heart of engineering is abstraction. We take problems, and turn them into abstract structures. We look at the structures we create, and recognize commonalities between those structures, and then we create new abstractions based on the commonalities. The hardest part of designing a good library is identifying the right abstractions.

Category theory is a tool for talking about structures, which is particularly well suited to thinking about software. In category theory, we think in terms of arrows, where arrows are mappings between objects. We'll see what that means in detail later, but the gist of it is that one example of arrows mapping between objects is functions mapping between data types in a computer program.

Category theory is built on thinking with arrows, and building structures using arrows. It's about looking at mathematical constructions built with arrows, and in those structures, figuring out what the fundamental parts are. When we abstract enough, we can start to see that things that look very different are really just different realizations of the same underlying structure. Category theory gives us a language and a set of tools for doing that kind of abstraction — and then we can take the abstract structures that we identify, and turn them into code — into very generic libraries that express deep, fundamental structure.

(cf Greatest Inventions (2011-06-09), Cakes, Custard, and Category Theory (2016-02-14), Category Theory Concepts (2016-04-25), Bird's-Eye View (2016-07-20), Category Theory for Programmers (2017-05-12), Ultimate Abstraction (2017-08-24), Put the Vast Storehouse in Order (2017-10-04), Category Theory is like a Lighthouse (2018-12-24), Macro vs Micro (2019-02-03), ...) - ^z - 2019-03-03